package com.yuw.finaldemo;

public class TestDriver {

	public static void main(String[] args) {
		test03();

	}
	/**
	 * 按值传参
	 */
	private static void test020() {
		// 定义一个变量
		String str = "Hello"; // i是实参
		System.out.println("主函数中，在子函数调用之前实参的值：" + str);
		// 调用子函数
		test021(str);
		// 子函数执行完成之后，打印实参i的值
		System.out.println("主函数中，在子函数调用之后实参的值：" + str);
	}

	/**
	 * 子函数调用：按值传参
	 * 
	 * @param i 函数定义时使用的，是形参
	 */
	private static void test021(final String str0) {
		// 打印子函数中的形参的值
		System.out.println("子函数中，形参接收到实参的值：" + str0);
		// 改变子函数中形参的值
		//str0 += " World!";
		System.out.println("子函数中，形参改变之后的值：" + str0);
	}
	
	
	/**
	 * 对于引用类型不能修改地址，但可以修改地址中的内容
	 */
     private static void test03() {
		
		//修饰final局部变量（引用类型）
		final String str = new String() ;
		//修改引用地址不可以
		//stu = new Student();
		
		//修改引用对象类型的中的内容可以
		//str=str+"小明";
		
		final String  str1="小明";
		
		//str1="小明";
		
	}

	
	
	
	
	/**
	 * 对于引用类型不能修改地址，但可以修改地址中的内容
	 */
     private static void test02() {
		
		//修饰final局部变量（引用类型）
		final Student stu = new Student() ;
		//修改引用地址不可以
		//stu = new Student();
		
		//修改引用对象类型的中的内容可以
		stu.setStuName("小明");
		stu.setStuName("小明2");
	}

	
	
	private static void test01() {
		
		//修饰final局部变量(基本类型）
		final int age ;
		//修改局部变量
		age =11;
		//final类型只能初始化赋值一次
		//age = 12;
	}

}
